Page History: Jetfire vs CSharp
Compare Page Revisions
Page Revision: 2009/03/06 21:03
Jetfire vs CSharp Differences Overview
Jetfire's core syntax is identical to C#. Jetfire contains
extensions to the .net C# language to simplify programming. To reduce the complexity of the programming model certain aspects of the .net C# language are not required in Jetfire.
Jetfire Extensions
Jetfire has a number of
first class constructs not in C#. Code examples can be found at
the Jetfire CodePlex site.
C Sharp features vs Jetfire
The tables below compare C# with Jetfire.
General
| General | C Sharp | Jetfire |
|---|
| Class construct | 'class' | 'workflow' |
| struct | yes | no |
| properties | yes | yes |
| methods | yes(see table) | yes (see table) |
| constructors | yes(see table) | yes (see table) |
| control statements | yes(see table) | yes (see table) |
| arithmetic operations | yes(see table) | yes (see table) |
| intrinsic types | yes | yes |
| static | yes | yes |
| private | yes | yes |
| public | yes | yes |
| dynamic access modifiers | no | yes |
| states | no | yes |
| access | no | yes |
| internal and protected | yes | yes |
| reflection | c# reflection | Jetfire easy reflection planned |
Methods
| Methods | C Sharp | Jetfire |
|---|
| 'static' keyword | yes | yes |
| overloading | yes | yes |
| overriding | yes | under construction |
| 'override' keyword | yes | planned |
| 'virtual' keyword | yes | planned |
| 'new' keyword | yes | planned |
| 'base.x' construct | yes | planned |
| 'this.x' construct | yes | yes |
| 'out' construct | yes | yes |
| 'ref' construct | yes | yes |
| 'return' statement | yes | yes |
| 'void' type | yes | yes |
Constructors
| Methods | C Sharp | Jetfire |
|---|
| 'static' keyword | yes | yes |
| overloading | yes | yes |
| ':this()' construct | yes | yes |
| ':base()' construct | yes | yes |
Control
| Control | C Sharp | Jetfire |
|---|
| if, else | yes | yes |
| for | yes | yes |
| while | yes | yes |
| for-while | yes | planned |
| foreach | yes | yes |
| 'lock' | yes | not required |
| 'continue' | yes | yes |
| 'break' | yes | yes |
| 'throw' | yes | yes |
| 'try-catch' | yes | planned |
Intrinsic/Built-in Types
| | C Sharp | Jetfire |
|---|
| byte | yes | yes |
| bool | yes | yes |
| char | yes | planned |
| decimal | yes | planned |
| enum | yes | yes |
| double | yes | planned |
| float | yes | planned |
| int | yes | yes |
| int16 | yes | yes (short) |
| int32 | yes | yes (int) |
| int64 | yes | yes (long) |
| long | yes | yes |
| object | yes | under construction |
| sbyte | yes | yes |
| short | yes | yes |
| string | yes | yes |
| string: mulit-language | no | yes |
| uint | yes | yes |
| uint16 | yes | yes (ushort) |
| uint32 | yes | yes (uint) |
| uint64 | yes | yes (ulong) |
| ulong | yes | yes |
| ushort | yes | yes |
| var | yes | yes (object) |
| true dynamic type | no | object |
Operators
C# operators
Primary
| C Sharp | Jetfire |
|---|
| x.y dot | yes . | yes |
| f(x) order | yes | yes |
x[index] | yes | under construction |
x++ | yes | planned |
x-- | yes | planned |
| new | yes | yes |
| typeof | yes | planned |
| checked | yes | planned |
| unchecked | yes | planned |
| -> | yes | yes - builtin |
Unary
| C Sharp | Jetfire |
|---|
| + | yes | yes |
| '-' negation | yes | yes |
| '!' logical negation | yes | yes |
| '~' | yes | planned |
| '++x' | yes | planned |
'--x' | yes | planned |
| '(T)x' cast | yes | not required |
| 'true' | yes | yes |
| 'false' | yes | yes |
| '&' | yes | yes |
| 'sizeof' | yes | planned |
Multiplicative
| C Sharp | Jetfire |
|---|
| '/' divide | yes | yes |
| '*' multiply | yes | yes |
| '%' remainder | yes | yes |
Additive
| C Sharp | Jetfire |
|---|
| '+' add | yes | yes |
| '-' subtract | yes | yes |
Shift
| C Sharp | Jetfire |
|---|
| << | yes | planned |
| >> | yes | planned |
Relational and type testing¶
| C Sharp | Jetfire |
|---|
| '<' less than | yes | yes |
| '>' greater than | yes | yes |
| '<=' less than or equal | yes | yes |
| '>=' greater than or equal | yes | yes |
| 'is' | yes | planned |
| 'as' | yes | planned |
Equality
| C Sharp | Jetfire |
|---|
| == | yes | yes |
| != | yes | yes |
Logical AND¶
Logical XOR
Logical OR
Conditional AND¶
Conditional OR
Conditional
| C Sharp | Jetfire |
|---|
| '?:' | yes | planned |
Assignment
| C Sharp | Jetfire |
|---|
| "=" | yes | yes |
| "+=" | yes | yes |
| "-=" | yes | yes |
| "*=" | yes | yes |
| "/=" | yes | yes |
| "%=" | yes | yes |
| "|=" | yes | yes |
| "^=" | yes | yes |
| "<<=" | yes | planned |
| ">>=" | yes | planned |
| "??=" | yes | planned |